import { defineManifest } from '@crxjs/vite-plugin'
import packageData from '../package.json' assert { type: 'json' }

// 判断当前环境是否为开发环境
const isDev = process.env.NODE_ENV == 'development'

// 定义扩展插件的manifest配置
export default defineManifest({
  // 根据环境设置扩展的名称，如果是开发环境，则添加"➡️ Dev"后缀
  name: `${packageData.displayName || packageData.name}${isDev ? ` ➡️ Dev` : ''}`,
  // 从package.json中获取扩展的描述
  description: packageData.description,
  // 从package.json中获取扩展的版本号
  version: packageData.version,
  // 设置manifest的版本为3
  manifest_version: 3,
  // 定义扩展的图标
  icons: {
    16: 'img/logo-16.png',
    32: 'img/logo-34.png',
    48: 'img/logo-48.png',
    128: 'img/logo-128.png',
  },
  // 配置扩展的动作按钮
  action: {
    default_popup: 'popup.html',
    default_icon: 'img/logo-48.png',
  },
  // 设置扩展的选项页面
  options_page: 'options.html',
  // 配置扩展的后台脚本
  background: {
    service_worker: 'src/background/index.js',
    type: 'module',
  },
  // 配置扩展的内容脚本
  content_scripts: [
    {
      matches: ['http://*/*', 'https://*/*'],
      js: ['src/contentScript/index.js'],
    },
  ],
  // 配置可访问web资源的图标
  web_accessible_resources: [
    {
      resources: ['img/logo-16.png', 'img/logo-34.png', 'img/logo-48.png', 'img/logo-128.png'],
      matches: [],
    },
  ],
  // 定义扩展的权限
  permissions: [
    'storage',
    "tabs", 
    "tabGroups"],
})